package com.iwhalecloud.citybrain.flow.platform.manager.infrastructure.mapper;

import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.monitor.VariableQueryVo;
import com.iwhalecloud.citybrain.flow.platform.manager.infrastructure.entities.ActHiVarinst;
import com.iwhalecloud.citybrain.flow.platform.manager.infrastructure.entities.ActRuVariable;
import com.iwhalecloud.citybrain.flow.platform.manager.infrastructure.entities.FlowVariableLog;
import org.flowable.engine.impl.persistence.entity.ByteArrayEntityImpl;

import java.util.List;

public interface FlowVariableDAO {

    ActRuVariable findVariableByPrimaryKey(String id);

    List<ActRuVariable> findVariableInstances(VariableQueryVo variableQueryVo);

    List<ActHiVarinst> findHistoricVariableInstances(VariableQueryVo variableQueryVo);

    int updateByPrimaryKey(ActRuVariable actRuVariable);

    int insertVariableLog(FlowVariableLog flowVariableLog);

    ByteArrayEntityImpl selectByteArray(String id);
}
